package com.moyq5.mvc.maker.test.feign.client;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.moyq5.mvc.framework.general.Body;
import com.moyq5.mvc.framework.general.Paging;
import com.moyq5.mvc.framework.general.Sorting;
import com.moyq5.mvc.framework.jackson.result.ListResult;
import com.moyq5.mvc.framework.jackson.result.ObjectResult;
import com.moyq5.mvc.framework.jackson.result.PageResult;
import com.moyq5.mvc.framework.jackson.result.StatusResult;
import com.moyq5.mvc.maker.test.bean.entity.TraChannelMerchBind;
import com.moyq5.mvc.maker.test.bean.search.TraChannelMerchBind4Search;


/**
 * @author Moyq5’s Tools
 * @since 2019-06-17 18:48:22
 */
@FeignClient(name="feign-server", url="${feign.server.url}")
@RequestMapping("/feign/channelMerchBind")
public interface TraChannelMerchBindFeign {

	@PostMapping("/oneById?filter=")
	@ResponseBody
	ObjectResult<TraChannelMerchBind> one( );
	
	@PostMapping("/count")
	@ResponseBody
	ObjectResult<Long> count(Body<TraChannelMerchBind4Search, String> channelMerchBind4s);
	
	@PostMapping("/one?filter=")
	@ResponseBody
	ObjectResult<TraChannelMerchBind> one(Body<TraChannelMerchBind4Search, Sorting> channelMerchBind4s);
	
	@PostMapping("/list?filter=")
	@ResponseBody
	ListResult<TraChannelMerchBind> list(Body<TraChannelMerchBind4Search, Sorting> channelMerchBind4s);

	@PostMapping("/page?filter=")
	@ResponseBody
	PageResult<TraChannelMerchBind> page(Body<TraChannelMerchBind4Search, Paging> channelMerchBind4s);

	@PutMapping
	@ResponseBody
	ObjectResult<Long> create(TraChannelMerchBind channelMerchBind);
	
	@PatchMapping
	@ResponseBody
	StatusResult update(TraChannelMerchBind channelMerchBind);
	
	@DeleteMapping
	@ResponseBody
	StatusResult remove( );

}
